#pragma once
class Dealing;
class Cancellation;

class AbstractApiConnection
{
public:
	void LogOrder(int rtn, Dealing const& dealing, std::string const& contractCode, int requestId);
	void LogCancellation(int rtn, Cancellation const &cancellation, int requestId);

	virtual void Init() = 0 {}
	virtual void Release()  = 0 {}
	virtual void SendOrder(Dealing const& dealing) = 0;
	virtual void SendCancellation(Cancellation const& cancellation) = 0;
	virtual void SubscribeMarket(char const* contractCode) = 0;
	virtual void SubscribePendingMarket(char const* contractCode) = 0;
	virtual void QueryMblMarket(char const* contractCode) = 0;
};